package com.stx.test.serialize.deletFile;

import java.io.*;

public class VulnerableApp {
    public static void main(String[] args) {
        // 先创建一个测试文件
        createTestFile();
        
        System.out.println("=== 有漏洞的应用启动 ===");
        System.out.println("测试文件已创建: test.txt");
        
        try {
            // 模拟从不可信来源读取数据（这是漏洞！）
            FileInputStream fileIn = new FileInputStream("D:/shuangti/payload.ser");
            ObjectInputStream in = new ObjectInputStream(fileIn);
            
            System.out.println("开始反序列化数据...");
            
            // 危险操作：直接反序列化不可信数据
            Object obj = in.readObject(); // 这里会触发恶意代码！
            
            in.close();
            fileIn.close();
            
            System.out.println("反序列化完成，对象类型: " + obj.getClass().getName());
            
            // 检查文件是否被删除
            File testFile = new File("D:/shuangti/test.txt");
            if (!testFile.exists()) {
                System.out.println("💀 漏洞利用成功！文件已被删除！");
            }
            
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    
    private static void createTestFile() {
        try {
            FileWriter writer = new FileWriter("D:/shuangti/test.txt");
            writer.write("这是一个测试文件内容");
            writer.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}